var captchaArray = [];

var regManager = {
		regValidator: validator(),
		
		init: function(){
			this.regValidator.validate({
				rules:{
					regName:{
						required:function(){
							if($("#isEmail").val()==0)
								return true;
							else
								return false;
						},
						email:true
					},
					phoneNum:{
						required:function(){
							if($("#isEmail").val()!=0)
								return true;
							else
								return false;
						},
						phone: true
					},
					password:{
						required:true,
						minlength:6
					},
					repassword:{
						required:true,
						equalTo:"password",
						param: false
					},
					msgCode:{
						param:true,
						messageCode:true
					},
					phonenation:{
						param:{
							value:function(){
								return $("#nation").attr('codeValue');
							}
						}
					},
					captcha:{
						//param:true,
						minlength:4,
						maxlength:4
					},
					
					// AliyunCf Service Parameters
					
					appKey: {
						param: {
							value: function() {
								return pointman.getConfig().appkey;
							}
						}
					},
					secenId: {
						param: {
							value: function() {
								return pointman.getConfig().scene;
							}
						}
					},
					tokenId: {
						param: {
							value: function() {
								return pointman.getConfig().token;
							}
						}
					}
				},
				submit:{
					url : '/user/reg/index.do',
					success : function(result){
						location.href = "/index.do";
					},
					failed : function(result){
						captchaArray.forEach(function(c){
							c.refresh();
						});
						error.handleError(result);
					}
				}
			});
		}
};

function sendCode(type){
	var voice=$(".msgCode_mm_voice_btn").css("display")==='none';
	if(voice)type=1;
	if($("#phoneNum").val().length<=0){
		$("#phoneNumError").text(languageJson['coincommonjs23']).show();
		$("#phoneNum").addClass('errorPut');
		return;
	}
	if(type==1)$(".msgCode_mm_send_btn").click();
	if(type==2)$(".msgCode_mm_voice_btn").click();
}

function initCaptcha(config) {
	
	jQuery.post('/captcha/init.do', {}, function(data){
		
		var _config = $.extend({}, config);
		_config.challenge = data.challenge;
		
		initGeetest(_config, function (captchaObj) {

		    captchaObj.appendTo("#sendSpan1"); // 绑定到id为captcha的元素上
		    
		    captchaObj.bindOn("#sendSpan1");
		    
		    captchaObj.onSuccess(function (data) {
		        // 成功回调
		        jQuery.post('/captcha/verify.do',{
		        	'geetest_challenge' : jQuery("#origin_sendSpan1 .geetest_challenge").val(),
		        	'geetest_validate' : jQuery("#origin_sendSpan1 .geetest_validate").val(),
		        	'geetest_seccode' : jQuery("#origin_sendSpan1 .geetest_seccode").val()
		        },function(data){
		        	if (data.indexOf('success') > -1) {
		        		sendCode(1);
		        	} else {
		        		showNoteInfo(languageJson['error68']);
		        	}
		        });
		    }, 'text');
		    
		    captchaObj.getValidate(); // 获取成功后的验证信息，失败是返回false
		    
		    captchaArray.push(captchaObj);
		    
	    });
	}, 'json');
	
	jQuery.post('/captcha/init.do', {}, function(data){
		
		var _config = $.extend({}, config);
		_config.challenge = data.challenge;
		
		initGeetest(_config, function (captchaObj) {

		    captchaObj.appendTo("#sendSpan2"); // 绑定到id为captcha的元素上
		    
		    captchaObj.bindOn("#sendSpan2");
		    
		    captchaObj.onSuccess(function (data) {
		        // 成功回调
		        jQuery.post('/captcha/verify.do',{
		        	'geetest_challenge' : jQuery("#origin_sendSpan2 .geetest_challenge").val(),
		        	'geetest_validate' : jQuery("#origin_sendSpan2 .geetest_validate").val(),
		        	'geetest_seccode' : jQuery("#origin_sendSpan2 .geetest_seccode").val()
		        },function(data){
		        	if (data.indexOf('success') > -1) {
		        		sendCode(2);
		        	} else {
		        		showNoteInfo(languageJson['error68']);
		        	}
		        });
		    }, 'text');
		    
		    captchaObj.getValidate(); // 获取成功后的验证信息，失败是返回false
		    
		    captchaArray.push(captchaObj);
		    
	    });
	}, 'json');
}

$(function () {
	
	regManager.init();
	
	//邮箱注册、手机注册的相互切换
	$(".rightLink").live("click",function(){
		$(this).hide();
		regManager.regValidator.reset();
		$(".put").val("");
		//切换到邮箱注册
		if($(this).attr("id") == "mailRegister"){
			$("#phoneRegister").show();
			$(".register .phone").hide();
			$(".register .mail").show();
			$("#isEmail").val(0);
			$(".register .captcha").show();
			$(".spanCode").hide();
		}else{ //切换到手机注册
			$("#mailRegister").show();
			$(".register .mail").hide();
			$(".register .phone").show();
			$(".spanCode").show();
			//手机验证码显示
//			if(!captchaOn){
//				var capShow = $("#isCaptcha").val();
//				if(capShow==0){
//					$(".register .captcha").hide();
//				}
//			}
			$("#isEmail").val(1);
		}
	});
	
	//是否同意服务条款 
	$("#regAgreement").live("click",function(){
		if($(this).hasClass("checked")){
			$("#submitBtn").removeClass("btn3").addClass("btn");
			$("#submitBtn").removeAttr("disabled");	
		}else{
			$("#submitBtn").removeClass("btn").addClass("btn3");
			$("#submitBtn").attr("disabled","true");
		}
	});
	
	//加载国家
	var url='/v1/user/loadNations.do?languageType='+languageType;
	$.get(url,function(result){
		$("#selContent").append(result.data.nations);
	},'json');
	
	$('#msgCode').initMessageCode({
		type: 72,
		phone:function(){
			return $("#phoneNum").val();
		},
		areaCode:function(){
			return $("#nation").attr('codeValue');
		},
		phoneErrorId: 'phoneNum'

	});
	
});
